
Ext.define('proyectos.ItemForm', {
    extend: 'Ext.form.Panel',
    alias: 'widget.itemform',
    requires: ['Ext.form.field.Text'],
    initComponent: function(){		
        Ext.apply(this, {
            activeRecord: null,
            iconCls: 'icon-item',
            frame: true,
            defaultType: 'textfield',
            bodyPadding: 25,
            fieldDefaults: {
                anchor: '100%',
            },
            items: [{
                fieldLabel: 'Id',
                name: 'id',
                type: 'int',
                itemId: 'idItem',
                hidden: true,
            },{
                fieldLabel: 'IdFase',
                name: 'idFase',
                type: 'int',
                itemId: 'idFase',
                hidden: true,
            },{
                fieldLabel: '<b>Nombre</b>',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                name: 'nombre',
                itemId: 'nombre',
                
            },{
				//xtype: 'textarea',
                fieldLabel: '<b>Descripcion</b>',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                name: 'descripcion',
                itemId: 'descripcion',
                
            },{
                fieldLabel: '<b>Complejidad</b>',
                name: 'complejidad',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                type: 'int',
                itemId: 'idComplejidad',
                
                
            },{
                fieldLabel: '<b>Version</b>',
                name: 'version',
                itemId: 'f_version',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                
            },{
                fieldLabel: '<b>Estado</b>',
                name: 'estado',
                itemId: 'f_estado',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                
            },{
				xtype: 'combobox',
				name: 'tipoItem',
				itemId: 'tipoItem',
				hidden: true,
				fieldLabel: '<b>TipoItem</b>',
				displayField: 'id',
				listConfig: {
					getInnerTpl: function() {
						return '<div data-qtip="{nombreTipoItem}">{nombreTipoItem} ({id})</div>';
					}
				}
					   
			}],
            dockedItems: [{
						xtype: 'toolbar',
						items: [{
							itemId: 'idinfo-buscar',
							iconCls: 'icon-checked',
							text: '<b><font color="red">Campos habilitados para filtrado</font></b>',
							//disabled: true,
							hidden: true,
							scope: this,
							handler: this.onReset
							
						},{
							iconCls: 'icon-atributos',
							itemId: 'atributo',
							text: '<b>Atributos</b>',
							hidden: true,
							scope: this, 
							handler: this.onAtributos
						},{
						iconCls: 'icon-archivo',
						itemId: 'archivos',
						text: '<b>Archivos</b>',
						hidden: true,
						scope: this, 
						handler: this.onArchivos
					},{
						iconCls: 'icon-historial',
						itemId: 'historial',
						text: '<b>Historial</b>',
						hidden: true,
						scope: this, 
						handler: this.onHistorial
					},{
                    iconCls: 'icon-grafo',
                    itemId: 'grafo',
                    text: '<b>Grafo</b>',
                    //hidden: true,
                    scope: this,
                    //disabled: true, 
                    handler: this.onGrafo
                }]
				},{
				weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->',
						{
                    iconCls: 'icon-buscar',
                    itemId: 'idbuscar',
                    text: '<b>Buscar</b>',
                    tooltip:'Buscar Items',
                    //disabled: true,
                    hidden: true,
                    scope: this,
                    handler: this.onBuscar
                },  {
                    iconCls: 'icon-reset',
                    text: '<b>Reset</b>',
                    scope: this,
                    handler: this.onReset
                }]
            }]
        });
        this.callParent();
    },

    setActiveRecord: function(record){
        this.activeRecord = record;
        if (record) {

            this.down('#historial').show();
            this.down('#archivos').show();
            this.down('#tipoItem').hide();
            this.down('#grafo').hide();
            this.down('#f_version').show();
            this.down('#f_estado').show();
            this.down('#atributo').show();  
            this.down('#idbuscar').hide();
            this.down('#idinfo-buscar').hide();
            this.down('#nombre').setFieldStyle('background-color: transparent; border: none;');
			this.down('#descripcion').setFieldStyle('background-color: transparent; border: none;');
			this.down('#idComplejidad').setFieldStyle('background-color: transparent; border: none;');
			this.down('#nombre').show();
			this.down('#descripcion').show();
			this.down('#idComplejidad').show();
            this.getForm().loadRecord(record);
        } else {

            this.down('#historial').hide();
            this.down('#archivos').hide();
            this.down('#grafo').show();
            this.down('#atributo').hide();
            this.down('#idbuscar').hide();
			this.down('#idinfo-buscar').hide();
			this.down('#f_version').show(); 
			this.down('#f_estado').show();
			this.down('#descripcion').show(); 
            this.down('#nombre').setFieldStyle('background-color: transparent; border: none;');
			this.down('#descripcion').setFieldStyle('background-color: transparent; border: none;');
			this.down('#idComplejidad').setFieldStyle('background-color: transparent; border: none;');
			this.down('#f_version').setFieldStyle('background-color: transparent; border: none;');
			this.down('#f_estado').setFieldStyle('background-color: transparent; border: none;');
			//this.down('#nombre').hide();
			//this.down('#descripcion').hide();
			//this.down('#idComplejidad').hide();
			this.down('#tipoItem').hide();
            this.down('#descripcion').setValue("");
            this.down('#idComplejidad').setValue("");
            this.down('#idItem').setValue("");
            this.down('#tipoItem').setValue("");
            this.down('#nombre').setValue("");
            this.down('#f_version').setValue("");
			this.down('#f_estado').setValue("");
            //this.getForm().reset();
            
        }
    },

	
     
	onHistorial: function(){
			var form = this.getForm();
			this.fireEvent('ddHistorial', form.getValues(true));            
	}, 
	
	onArchivos: function(){
			var form = this.getForm();

			this.fireEvent('fireArchivos', form.getValues(true));
	}, 
	

	onAtributos: function(){
			var form = this.getForm();
			this.fireEvent('ddAtributos', form.getValues(true));            
	}, 
	
    onReset: function(){
        this.setActiveRecord(null);
        //this.getForm().reset();
        this.fireEvent('reset');
    },
    
    onFiltrar: function(){
		this.down('#descripcion').hide(); 
		this.down('#tipoItem').hide(); 
		this.down('#idbuscar').show();
		this.down('#atributo').hide(); 
		this.down('#historial').hide(); 
		this.down('#archivos').hide();
		this.down('#idinfo-buscar').show();
		this.down('#grafo').hide();
		this.down('#f_version').show();
		this.down('#f_version').setValue("");
		this.down('#f_estado').setFieldStyle('background-color: #fff; border: 1px dotted;');
		this.down('#f_version').setFieldStyle('background-color: #fff; border: 1px dotted;');
		this.down('#f_estado').show();
		this.down('#f_estado').setValue("");
		this.down('#nombre').show();
		this.down('#idComplejidad').show();
		this.down('#nombre').setValue("");
		this.down('#descripcion').setValue("");
		this.down('#idComplejidad').setValue("");
		this.down('#nombre').setFieldStyle('background-color: #fff; border: 1px dotted;');
		this.down('#idComplejidad').setFieldStyle('background-color: #fff; border: 1px dotted;');
		//this.down('#f_fechaCreacion').show(); 
						
    },

    onBuscar: function(){
		var form = this.getForm();
		this.fireEvent('buscar', form.getValues(true));
						
    },
    onListar: function(){
		this.fireEvent('listar');
						
    },
    
	onGrafo: function(){
		
			var form = this.getForm();
			this.fireEvent('fireGrafo', form.getValues(true));
			  
	}

    
});

function extraer(texto, etqini, etqfin){
		var ind0, ind1, parte ="";
		ind0 = texto.indexOf(etqini);
		if (ind0 >=0){
			ind1 = texto.indexOf(etqfin);
			if (ind1>ind0)
				parte = texto.substring(ind0+etqini.length, ind1);
		}
		return parte;
}
